/*
 * NÃO REMOVA ESTES COMENTÁRIOS!
 * 
 * TODO:
 * 
 * [1] - remover os static das variáveis e funções! tem algum problema se deixar
 * as variáveis como static e como private. Deixar como static permite visibilidade
 * fora da classe sem instância de objeto, com o private resolvo isso?
 * 
 * [2] - IMPLEMENTAR O MÓDULO DE FÍSICA! alguem se dispõe?
 * 
 */
package AngryBirds;

import java.io.IOException;

/**
 *
 * @author gustavokatel
 */
public class ComArrayMultidimensional {
 
    private static final int largura = 30;
    private static final int altura = 10;
    
    private static char mapa[][] = new char[altura][largura]; //estilo mapa[x][y]
    
    
    private static int cx=0,cy=0;//posição do pássaro
    
    private static long clock = 250; //tempo de atualização
    
    public static void main(String args[]) throws InterruptedException, IOException
    {
        cx = altura-1;
        while( cx>=0 && cy<largura-1 )
        {
        limpaMapa();
        desenhaMapa();
        cx--;cy++;
        Thread.sleep(clock);
        }
        
        
    }
    
    private static void limpaMapa() throws IOException
    {
        int x,y;          
        
        //limpa tela (obs.: portabilidade?)
        //conferir função exec
//        Runtime.getRuntime().exec("cls"); //windows
        Runtime.getRuntime().exec("clear"); //linux
        //

        //limpa todo o array com ' '
        for(x=0;x<altura;x++)
            for(y=0;y<largura;y++)
                mapa[x][y]=' ';
        //escreve os arredores do mapa
        for(x=0;x<altura;x++) //percorre as colunas, eixo x
        {
            mapa[x][0]='*';
            mapa[x][largura-1]='*';
        }
        for(y=0;y<largura;y++)
        {
                mapa[0][y]='*';
                mapa[altura-1][y]='*';
        }
        
        mapa[cx][cy]='o'; //representa o pássaro! plota no array o devido caracter
    }

    private static void desenhaMapa() {
        
        for(int x=0;x<altura;x++)
        {
            for(int y=0;y<largura;y++)
            {
                System.out.print(mapa[x][y]);
            }
            System.out.println();
        }
    }
    
}
